package com.yc.cloud.openai.service;

import com.yc.cloud.openai.dto.request.coze.CozeOauthTokenParam;
import com.yc.cloud.openai.dto.request.coze.CozeRefreshTokenParam;
import com.yc.cloud.openai.dto.request.coze.CozeRunChatWorkflowParam;
import com.yc.cloud.openai.dto.request.coze.CozeRunWorkflowParam;
import com.yc.cloud.openai.vo.CozeOauthTokenVo;
import com.yc.cloud.openai.vo.CozeRobotInfoVo;

public interface CozeService {
    /**
     * 获取授权URL
     */
    String getAuthUrl();

    /**
     * 获取身份信息
     * 
     * @param code 授权码
     * @return access token
     */
    CozeOauthTokenVo oauthToken(CozeOauthTokenParam param);

    /**
     * 刷新AccessToken
     * 
     * @param param 刷新令牌参数
     * @return access token
     */
    Object refreshToken(CozeRefreshTokenParam param);

    /**
     * 获取机器人信息
     * 
     * @param robotId 机器人ID
     * @return 机器人信息
     */
    CozeRobotInfoVo getRobotInfo(String robotId);

    /**
     * 运行工作流
     * 
     * @param param 工作流参数
     * @return 工作流执行结果
     */
    String runWorkflow(CozeRunWorkflowParam param);

    /**
     * 运行对话流
     * 
     * @param param 对话流参数
     * @return 对话流执行结果
     */
    String runChatWorkflow(CozeRunChatWorkflowParam param);
}